Providing additional information with session requests

ABSTRACT

The present invention allows a communication client to send a session request to initiate a session with a receiving communication client, wherein the session request includes additional information configured to allow the receiving communication client to take an action in association with the communication session. The additional information may include context indicia, which may identify an association related to the subject matter of the session, or a specific instruction to take the action in association with the communication session.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to concurrently filed U.S. application Ser. No. 10/784,865, entitled USING ADDITIONAL INFORMATION PROVIDED IN SESSION REQUESTS, the disclosure of which is incorporated herein by reference in its entirety.

FIELD OF THE INVENTION

The present invention relates to communications, and in particular to providing additional information in a session request that may be used by a remote communication device or application.

BACKGROUND OF THE INVENTION

Various types of communication sessions, including those based on voice or messaging, are established because two or more parties desire to communicate about a particular subject. The subject of the communication may be of interest to additional parties and may be associated with any number of files, documents, and the like. For example, if a voice session is established between two parties to discuss a particular project defined in a document, one of the parties to the communication session may email the other party a copy of the document during the communication session, such that both of the parties may view the document during their discussions. Thus, there is a need to allow for the parties to exchange documents related to their discussions. Further, if other parties should be involved in the session, there is no easy or automated way to determine these parties are interested in the discussion and provide these documents to the third parties. Accordingly, there is a need for a way to provide contextual information in association with establishing a communication session, such that related parties may participate in the session and related documents or information may be provided to the parties in an automated fashion, without requiring the parties to identify other parties to include in the communication session or separately provide documents and information in association with the communication session. There is also a need to provide instructions to a communication device or application with which a communication session is being established to take actions to enhance the communication session.

SUMMARY OF THE INVENTION

The present invention allows a communication client to send a session request to initiate a session with a receiving communication client, wherein the session request includes additional information configured to allow the receiving communication client to take an action in association with the communication session. The action may be initiated before, during, or after session establishment. Further, the action may take place at any time. The additional information may include context indicia, which may identify an association related to the subject matter of the session, or a specific instruction or request to take an action in association with the communication session.

In one embodiment, the context indicia identifies an association of people, information, or things, which may take many forms. The association is related to the action to be taken. Although not inclusive, the actions to be taken may include providing information to a user, displaying information to a user, recording at least a portion of the communication session, storing information related to the communication session, initiating other sessions with other communication devices, restricting incoming session requests to those related to the existing communication session, obtaining information from a participant in the session, providing information to a participant in the session, accessing web sites, initiating emails, calls, or instant messages, and the like. Accordingly, information may be provided in session requests to cause the communication client receiving the session request to establish the session, as well as take additional actions related to the session or the subject matter to be addressed in the session.

Those skilled in the art will appreciate the scope of the present invention and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the invention, and together with the description serve to explain the principles of the invention.

FIG. 1 is a block representation of a communication environment according to one embodiment of the present invention.

FIG. 2 is a communication flow diagram according to a first embodiment of the present invention.

FIG. 3 is a communication flow diagram according to a second embodiment of the present invention.

FIG. 4 is a block representation of a communication client according to one embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the invention and illustrate the best mode of practicing the invention. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the invention and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.

The present invention allows a first communication client to include additional information in a session request, which is sent to a second communication client. The session request is intended to trigger a communication session between the first and second communication clients. The additional information provided in the session request by the first communication client is used by the second communication client to initiate an action. The action taken by the second communication client in response to receiving a session request with the additional information is generally related to the session being established between the first and second communication clients.

In one embodiment, the additional information is contextual information, which provides an association of people, issues, objects, events, files, tasks, archives of previous communications, and the like with the session being initiated. For example, the context indicia may be or may bear on a subject or topic with which people and documents are associated. In this example, assume the context information bears on a particular subject about which multiple people have exchanged email and multiple files have been shared and reviewed. The context information could be or could relate to the subject of the email, and when the second communication client receives the session request including the context indicia, certain actions may be taken to automatically exchange the most recent versions of the shared documents to all of the participants, and perhaps initiate additional sessions in an attempt to conference all of the parties related to that particular subject. Notably, the second communication client will recognize that the session request has the context indicia and make a determination regarding what action to take based on the context indicia. The context indicia may take many forms and cause numerous actions to be taken by the communication client receiving the session request. Further details and examples are provided later in the specification.

In another embodiment, the additional indicia provided in the session request may be specific instructions for the second communication client receiving the session request. As such, the second communication client may take action based on the instructions without having to determine what action to take based on the mere presence of context indicia. Notably, the additional information may include context indicia as well as instructions in other embodiments. The additional information may be the actual context indicia or instructions, or a pointer to appropriate information.

The actions taken by the second communication client upon receiving the additional information may take many forms, including displaying information, delivering information, initiating additional communication sessions, recording the communication session, storing information associated with the communication session, reacting in a certain fashion to session requests from third parties, and the like. Accordingly, the present invention relates to delivering additional information bearing on context indicia or instructions, and having the communication client receiving the session request take appropriate action in response to the context indicia or instructions.

Prior to delving into exemplary communication flows for delivering context indicia and instructions in a session request, an overview of an exemplary communication environment according to one embodiment of the present invention is provided. With reference to FIG. 1, an exemplary communication environment 10 is illustrated wherein communication clients 12 can communicate with each other and establish sessions for communication through a packet network 14. The sessions may be established using any type of session establishment protocol, such as the Session Initiation Protocol (SIP). The communication clients 12 may be implemented in various types of communication devices, such as personal computers, personal digital assistants (PDAs), telephones, and the like, and may be associated with one or more applications 16, which reside on or are otherwise closely associated with the communication client 12. Other applications 18 may be accessible by the communication client 12 via the packet network 14. These remote applications 18 may provide similar or different functions as the associated applications 16.

Depending on the communication protocol, communication servers 20 may be used to assist in establishing the sessions between the respective communication clients 12. These communication servers 20 may act as proxies, such as a SIP proxy, and play an important role in any necessary signaling or handshaking between the communication clients 12 prior to the communication session being established. Typically, but not necessarily, the communication session is established directly between the communication clients 12, even when session control signaling may involve the communication servers 20. Additionally, one or more media application servers 22 may be provided to assist in establishing various types of media sessions, such as voice, audio, and video sessions and associated conferencing between the communication clients 12 as well as third party communication clients (not shown).

For the purposes of illustration, the communication environment 10 is separated into two sides by a dashed line. Those entities on the left side of the dashed line will be modified by the term “sending” and those on the right side of the dashed line will be modified by the term “receiving.” The use of the terms “sending” and “receiving” clarifies whether the devices are associated with the communication client 12 sending the session request or receiving the session request. Accordingly, the sending communication client 12 will send a session request to the receiving communication client 12 to initiate a communication session between the sending and receiving communication clients 12.

In general, the sending associated applications 16 and the sending remote applications 18 will provide the additional information, either context indicia or instructions, to the sending communication client 12, which will send a session request including the additional information to the receiving communication client 12. In addition to establishing the session with the sending communication client 12, the receiving communication client 12 will process the additional information and interact with the appropriate receiving associated application 16 or receiving remote application 18 to take the appropriate action based on the context indicia or instructions provided in the additional information. As noted, the receiving communication client 12 may also interact with the receiving media application server 22 as necessary to support actions involving various types of media-related functions.

When sending session related messages between the sending and receiving communication clients 12, the respective sending and receiving communication servers 20 may be used to route these messages. For example, a session request taking the form of a SIP Invite message may be sent from the sending communication client 12 to the sending communication server 20, which will forward the SIP Invite message to the receiving communication server 20, which will in turn forward the SIP Invite message to the receiving communication client 12. For the following communication flow diagrams, the routing of a session request through the communication servers 20 is not illustrated, for conciseness and readability. Those skilled in the art will recognize that various types of communication protocols may or may not require the routing of these session-related messages through the respective communication servers 20, and that the specific routing of these messages is not integral to the concepts of the present invention.

Turning now to FIG. 2, an exemplary communication flow is provided where the additional information provided in the session request is context indicia. Initially, a sending associated or remote application 16, 18 will generate context indicia for an upcoming session between the sending and receiving communication clients 12 (step 100). The context indicia is provided to the sending communication client 12 (step 102), which will initiate the session (step 104) by sending a session request including the context indicia toward the receiving communication client 12 (step 106). Upon receipt of the session request, the receiving communication client 12 will process the session request (step 108), retrieve the context indicia from the session request (step 110), and process the context indicia (step 112). The receiving communication client 12 will use the context indicia to determine an action to take based on the context indicia (step 114), and initiate the action by communicating with the appropriate receiving application 16, 18 (step 116). The receiving communication client 12 may access information stored internally or externally to identify the relationships associated with the context indicia and determine the action to take based on the given context indicia. The receiving communication client 12 will send a session response back to the sending communication client 12 (step 118), which will establish a communication session between the sending and receiving communication clients 12 (step 120). Notably, the action may be initiated at any time before the session is initiated (as illustrated), while the session is being initiated, or after the session is initiated. The actual action may take place at any time as needed and may be optional based on various criteria.

The context indicia does not provide an instruction, but information that the receiving communication client 12 can process to determine an action to take. The context indicia identifies a relationship among people, issues, objects, events, files, tasks, archives of previous communications, and the like, and associates this relationship with the communication session. Based on the relationship, the receiving communication client 12 can determine an action to take, and must be configured to process context indicia to arrive at the proper action. For example, if the context is a meeting set on the calendars of a group of people, the action to take may be to establish communication sessions with the people scheduled to conference and distribute documents, web pages, links, or other files to all the people in the group. Alternatively, context indicia may relate to a certain project, wherein when the session is established, aspects of the project will be displayed to the respective users. The communication session may be recorded and information associated with the communication session and the communication itself may be stored as desired by the participants. Another example would be having the context indicia correspond to the subject of an email, wherein a copy of emails having the same subject are sent to the communication session participants or local copies of the emails are displayed for the participants. Notably, the session does not need to be a voice session, but could be an instant messaging session, a video conferencing session including voice, and the like. Thus, the context indicia may be used to identify interested parties, present participants with related information and documents, or trigger related communication events. The actions taken do not need to be immediate. For example, the receiving communication client 12 may recognize the context indicia as allowing additional parties related to the context indicia to join the session. Thus, when session requests arrive from parties having a relationship to the context indicia, the receiving communication client 12 may recognize these participants and allow them to join the session with the initial participants.

Again, the context indicia may identify the actual context, or provide a pointer to the actual context. In a SIP embodiment, the SIP Invite message will include a field in which the additional information containing the context indicia is provided. The receiving communication client 12 will review session requests to determine if this field is populated with additional information such as context indicia or instructions. The actions taken may also include automatically generating email, sending instant messages, and the like. Notably, the action is related to the context indicia and the communication session being established between the sending and receiving communication clients 12.

Turning now to FIG. 3, a communication flow diagram is provided wherein the session request includes instructions for the receiving communication client 12. Initially, a sending application 16, 18 will generate an instruction for an upcoming session between the sending and receiving communication clients 12 (step 200). The instruction is provided to the sending communication client 12 (step 202), which will initiate the session (step 204) by sending a session request toward the receiving communication client 12 (step 206). The receiving communication client 12 will process the session request (step 208), retrieve the instruction (step 210), and process the instruction (step 212). As a result, the receiving communication client 12 will initiate an action in response to the instruction (step 214). Again, initiation of the action may take place before, during, or after session establishment. Further, the action may occur at any time. Initiating the action may involve instructing a receiving application 16, 18 to initiate a desired function. The receiving communication client 12 will also send a session response back to the sending communication client 12 (step 216) to establish the communication session between the sending and receiving communication clients 12 (step 218).

Various types of actions may be taken in response to the instruction; however, the action taken may relate to the session being established between the sending and receiving communication clients 12. Exemplary actions taken in response to the instruction are those described above in association with the context indicia. When the additional information is an instruction, the receiving communication client 12 need only be configured to properly interpret the instruction instead of analyzing the context indicia to determine an action to take.

With reference to FIG. 4, an exemplary communication client 12 is illustrated. The communication client 12 may include a control system 24, which is associated with memory 26 having sufficient software 28 to provide the functionality described above. In particular, the software 28 may include a communication client function 30 as well as one or more of the associated applications 16. The control system 24 is also associated with an appropriate communication interface 32 to facilitate sessions and any requisite signaling over the packet network 14. Further, the communication client 12 may include a user interface 34 through which user input is received and information may be displayed to the user. The communication interface 32 and the user interface 34 will vary depending on the nature of the communication client 12.

Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow. 

What is claimed is:
 1. A method comprising: a) determining to initiate a communication session with a receiving communication client; b) providing additional information received from an application, the additional information identifying a relationship among entities associated with the communication session and configured to provide an instruction for the receiving communication client to take an action in association with the communication session, the action causing the receiving communication client to store information related to the communication session; c) creating a session request comprising the additional information configured to provide the instruction for the receiving communication client to take the action; d) sending the session request toward the receiving communication client; and e) establishing the communication session with the receiving communication client, wherein the receiving communication client performs the action after the communication session has been established with the communication client.
 2. The method of claim 1 wherein the action causes the receiving communication client to provide information to a user.
 3. The method of claim 2 wherein the action causes the receiving communication client to display the information to the user.
 4. The method of claim 1 wherein the action causes the receiving communication client to record at least a portion of the communication session.
 5. The method of claim 1 wherein the action causes the receiving communication client to initiate at least one communication session with a communication client other than a sending communication client.
 6. The method of claim 5 wherein the action causes the receiving communication client to create a conference with the sending communication client and the communication client other than the sending communication client.
 7. The method of claim 1 wherein the action causes the receiving communication client to allow only select communication clients to join the communication session.
 8. The method of claim 1 wherein the action causes the receiving communication client to obtain information for at least one user participating in the communication session.
 9. The method of claim 1 wherein the action causes the receiving communication client to provide information for at least one user participating in the communication session.
 10. The method of claim 1 wherein the action causes the receiving communication client to access a web site.
 11. The method of claim 1 wherein the action causes the receiving communication client to provide an email or instant message.
 12. The method of claim 1 wherein the action causes the receiving communication client to initiate a call.
 13. A communication client comprising: a) a communication interface; and b) a control system associated with the communication interface and adapted to: i) determine to initiate a communication session with a receiving communication client; ii) receive additional information identifying a relationship among entities associated with the communication session from an application; iii) provide the additional information configured to provide an instruction for the receiving communication client to take an action in association with the communication session, the action causing the receiving communication client to store information related to the communication session; iv) create a session request comprising the additional information; v) send the session request toward the receiving communication client; and vi) establish the communication session with the receiving communication client, wherein the receiving communication client performs the action after the communication session has been established with the communication client.
 14. The communication client of claim 13 wherein the additional information is an instruction to take the action.
 15. The communication client of claim 13 wherein the action causes the receiving communication client to provide information to a user.
 16. The communication client of claim 15 wherein the action causes the receiving communication client to display the information to the user.
 17. The communication client of claim 13 wherein the action causes the receiving communication client to record at least a portion of the communication session.
 18. The communication client of claim 13 wherein the action causes the receiving communication client to initiate at least one communication session with a communication client other than a sending communication client.
 19. The communication client of claim 18 wherein the action causes the receiving communication client to create a conference with the sending communication client and the communication client other than the sending communication client.
 20. The communication client of claim 13 wherein the action causes the receiving communication client to allow only select communication clients to join the communication session.
 21. The communication client of claim 13 wherein the action causes the receiving communication client to obtain information for at least one user participating in the communication session.
 22. The communication client of claim 13 wherein the action causes the receiving communication client to provide information for at least one user participating in the communication session.
 23. The communication client of claim 13 wherein the action causes the receiving communication client to access a web site.
 24. The communication client of claim 13 wherein the action causes the receiving communication client to provide an email or instant message.
 25. The communication client of claim 13 wherein the action causes the receiving communication client to initiate a call.
 26. A method comprising: a) determining to initiate a communication session with a receiving communication client; b) providing additional information identifying a relationship among entities associated with the communication session and configured to allow the receiving communication client to take an action in association with the communication session, the action causing the receiving communication client to store information related to the communication session; c) creating a session request comprising the additional information; d) sending the session request toward the receiving communication client; and e) establishing the communication session with the receiving communication client, wherein the receiving communication client performs the action after the communication session has been established with the communication client.
 27. The method of claim 26 wherein the additional information is context indicia.
 28. The method of claim 27 wherein the context indicia identifies an association related to a subject matter of the communication session.
 29. The method of claim 28 wherein the association is an association of people, information, or things.
 30. The method of claim 27 wherein the context indicia identifies an association related to the action.
 31. The method of claim 26 wherein the additional information comprises context indicia and an instruction to take the action. 